package main

import (
	profile "Learngo/doc/2_1_type"
	"fmt"
)

// 三种实例化方法
func main() {
	//1 正常实例化
	xm := profile.Profile{
		Name:   "小明",
		Age:    18,
		Gender: "male",
	}
	fmt.Println(xm)

	//2 使用new

	xm2 := new(profile.Profile)
	// 等价于: var xm *Profile = new(Profile)
	fmt.Println(xm2)
	// output: &{ 0 }

	xm2.Name = "iswbm"  // 或者 (*xm).name = "iswbm"
	xm2.Age = 18        //  或者 (*xm).age = 18
	xm2.Gender = "male" // 或者 (*xm).gender = "male"
	fmt.Println(xm2)
	//output: &{iswbm 18 male}

	// 3 使用&
	var xm3 *profile.Profile = &profile.Profile{}
	fmt.Println(xm3)
	// output: &{ 0 }

	xm3.Name = "ahh"    // 或者(*xm3).Name = "ahh"
	xm3.Age = 18        // 或者(*xm3).Age = 18
	xm3.Gender = "male" // 或者(*xm3).Gender = "male"
	fmt.Println(xm3)
	// output: &{ahh 18 male}

}
